/**
 * Title: MsgVerificationService.java
 * Description: Copyright: Copyright (c) 2019 Company: BHFAE
 *
 * @author Sharp
 * @date 2019-7-31 21:52
 * @description Project Name: Grote
 * @Package: com.srct.service.service
 */
package com.sharp.authorization.service.sms;

import com.sharp.authorization.config.msg.IMsgVerification;
import com.sharp.authorization.vo.msg.MsgVerificationReq;

public interface MsgVerificationService {
    /**
     *
     * @param msgCodeType
     * @return
     */
    IMsgVerification getMsgCodeType(String msgCodeType);

    /**
     * Generate msg code string.
     *
     * @param phoneNumber phoneNumber
     * @param msgCodeType the type
     * @return the string
     */
    String generateMsgCode(String phoneNumber, IMsgVerification msgCodeType);

    /**
     * Validate msg code.
     *
     * @param token       the token
     * @param phoneNumber phoneNumber
     * @param code        the code
     * @param type        the type
     */
    void validateMsgCode(String token, String phoneNumber, String code, String type);

    /**
     * Validate msg code.
     *
     * @param token              the token
     * @param msgVerificationReq 验证码信息
     */
    void validateMsgCode(String token, MsgVerificationReq msgVerificationReq, String type);


}
